package ch7;

/**
 * 
 * <pre>
 * 继承：
 * 1.继承使用extends关键词进行表示，子类可以通过继承共用父类的特征（属性）和行为（方法）
 * 2.语法：class 子类 extends 父类
 * 3.在java中继承属于单继承：一个子类只能有一个父类
 * 4.在子类的构造方法中，可以使用super指向父类；调用父类构造方法
 * 5.子类可以通过继承重用父类的代码，但这不是主要的目标；
 *   继承更重要的目标是为了对父类的功能进行扩展，增加程序的可维护性，可扩展性
 * 6.子类可以重写父类的方法；子类可以扩展自己的方法
 * 7.在java中，所有类都有一个共同的父类：java.lang.Ojbect
 *   java的父类可以是直接父类，也指代父类的父类，直至Object
 *   //JNI（native） - java 本地调用接口，是多语言混合编程的接口，可以调用c语言代码
 * 8.在实例化子类对象时，会先执行父类的构造方法，生成一个父类对象；实例化子类对象一定会产生多个对象（根据子类与Object类间的关系确定）
 * 
 * 
 * 
 * </pre>
 * 
 * 
 * @author admin
 *
 */
public class Manager extends Employee{
	
	public Manager(){
		//不编写super调用时，默认调用父类的空参构造方法
		super();//在子类的构造方法中，可以使用super指向父类；调用父类构造方法
	}
	
	public Manager(String name,String sex ,int age, String phone) {
		
		//this();
		//this可以在构造方法中，调用自己的构造方法-一般用于多个构造方法时
		//注意：不能同时使用this和super进行构造方法调用
		//使用this或super调用构造方法时，代码必须放在第一行
		
		super(name,sex,age,phone);
		//this();
		this.work();
	    //work();子类和父类都有work方法，不写this或super默认调用子类的方法
		//super(name,sex,age,phone);//调用父类带参构造方法
		//equals(null);//子类没有equals方法，默认调用父类的方法
		this.equals(null);//子类没有equals方法，默认调用父类方法；可以是this或super或不写进行调用
		super.equals(null);
		equals(null);
	}

	
	//@Override 方法的重写，@Overrload 方法的重载
	//方法的重写发生在子类和父类之间，子类重写父类的方法
	//方法的重写可以使用@Override进行注解
	@Override
	public void work() {
		// TODO Auto-generated method stub
		//super.work();
		
		//this.work(); -递归
		System.out.println("管理公司");
		
	}
	
	


}
